package com.qzsoft.zhjd.materiel.modules.materielconsume.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qzsoft.zhjd.materiel.modules.materielconsume.dto.MaterielConsumeInventoryDto;
import com.qzsoft.zhjd.materiel.modules.materielconsume.dto.MaterielConsumeListDto;
import com.qzsoft.zhjd.materiel.modules.materielconsume.dto.MaterielConsumeProdDto;
import com.qzsoft.zhjd.materiel.modules.materielconsume.entity.MaterielConsumeEntity;

/**
 * @ClassName MaterielConsumeMapper
 * @Description 材料消耗数据库接口
 * @author linhuawei
 * @since 2022-04-05
 */
@Mapper
public interface MaterielConsumeMapper extends BaseMapper<MaterielConsumeEntity> {

    /**
     * @Title queryDto
     * @Description 获取材料消耗统计分页列表
     * @param page   分页条件
     * @param params 查询条件
     * @return 材料消耗统计分页列表
     */
    public IPage<MaterielConsumeListDto> queryDto(IPage<MaterielConsumeListDto> page,
            @Param("params") Map<String, Object> params);
    
    /**
     * @Title queryInventoryDto
     * @Description 统计盘点消耗
     * @param params 查询条件
     * @return 盘点消耗
     */
    public List<MaterielConsumeInventoryDto> queryInventoryDto(@Param("params") Map<String, Object> params);
    
    /**
     * @Title queryProdDto
     * @Description 统计生产消耗
     * @param params 查询条件
     * @return 生产消耗
     */
    public MaterielConsumeProdDto queryProdDto(@Param("params") Map<String, Object> params);

}
